Visual Basic (Declaration) | |
---|---|
Public Overloads Sub Marshal( _ ByVal messages() As MessageBase, _ ByVal state As Object _ ) |
Visual Basic (Usage) | ![]() |
---|---|
Dim instance As SnmpBase Dim messages() As MessageBase Dim state As Object instance.Marshal(messages, state) |
C# | |
---|---|
public void Marshal( MessageBase[] messages, object state ) |
Managed Extensions for C++ | |
---|---|
public: void Marshal( MessageBase*[]* messages, Object* state ) |
C++/CLI | |
---|---|
public: void Marshal( array<MessageBase^>^ messages, Object^ state ) |
Parameters
- messages
- Message instances derived from MessageBase to be marshaled.
- state
- Additional information provided by the user.
The following example demonstrates sending a Get request to an agent and receiving the response.
C# | ![]() |
---|---|
private void button1_Click(object sender, EventArgs e) { //Create and send request on a worker thread manager1.Start(manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact)); } private void manager1_SendGetRequest(Dart.Snmp.ManagerSlave slave, object state) { //Create Get Request GetMessage request = new GetMessage(); request.Community = "public"; request.Version = SnmpVersion.One; request.Variables.Add(state as Variable); //Send request and get response ResponseMessage response = slave.GetResponse(request, myAgentAddress); //Marshal message to the UI thread using the Message event manager1.Marshal(new ResponseMessage[] { response }, null); } private void manager1_Message(object sender, Dart.Snmp.MessageEventArgs e) { //Display info about the first variable in the response, and its value Variable var = e.Messages[0].Variables[0] as Variable; label1.Text = var.Definition.ToString() + var.Value.ToString(); } |
Visual Basic | ![]() |
---|---|
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) 'Create and send request on a worker thread manager1.Start(AddressOf manager1_SendGetRequest, manager1.Mib.CreateVariable(NodeName.sysContact)) End Sub Private Sub manager1_SendGetRequest(ByVal slave As Dart.Snmp.ManagerSlave, ByVal state As Object) 'Create Get Request Dim request As GetMessage = New GetMessage() request.Community = "public" request.Version = SnmpVersion.One request.Variables.Add(CType(IIf(TypeOf state Is Variable, state, Nothing), Variable)) 'Send request and get response Dim response As ResponseMessage = slave.GetResponse(request, myAgentAddress) 'Marshal message to the UI thread using the Message event manager1.Marshal(New ResponseMessage() { response }, Nothing) End Sub Private Sub manager1_Message(ByVal sender As Object, ByVal e As Dart.Snmp.MessageEventArgs) 'Display info about the first variable in the response, and its value Dim var As Variable = CType(IIf(TypeOf e.Messages(0).Variables(0) Is Variable, e.Messages(0).Variables(0), Nothing), Variable) label1.Text = var.Definition.ToString() & var.Value.ToString() End Sub |
This method can be used to marshal messages from a worker thread to the UI thread for typical display purposes. It calls the OnMessage method on the UI thread, which raises the Message event.
Target Platforms: Microsoft .NET Framework 2.0